1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular, to a method for detecting changes in end-user transaction performance and availability caused by transaction server configuration changes.
2. Description of the Related Art
Performance monitoring is often used in optimizing the use of software in a system. A performance monitor is generally regarded as a facility incorporated into a processor to assist in analyzing selected characteristics of a system by determining the state of the machine at a particular point in time. One method of monitoring system performance is to monitor the system using a transactional-based view. The execution path of a transaction as it passes through an array of hosts, systems, application, Web and proxy servers, Web application servers, middleware, database management software, and legacy back-office software, may be monitored and performance characteristic data compiled and stored in a data repository for historical analysis and long-term planning. Sources of performance and availability problems may be isolated as they occur so that these problems can be corrected before they produce expensive outages and lost revenue.
One way in which this data may be compiled in order to test the performance of a system is to simulate customer transactions and collect performance data to help assess the health of electronic business components and configurations. Some performance monitors permit electronic business owners who need to ensure that their Web sites are available and meet performance targets to simulate customer transactions occurring on their Web sites by recording and playing back the transactions. A recording component captures performance data about actual user transactions that are executed against elements (e.g., Web servers or Web application servers) of the business environment. A playback component executes the recorded transactions to simulate actual user activity. These simulated transactions are known as synthetic transactions. Recording/playback of transactions allows a business owner to determine the manner by which transactions are processed by the various elements of the electronic business, and thus, which processes are causing problems and where the processes may be improved.
Change management, which is the process of developing a planned approach to change in an organization, is a critical piece of a customer's enterprise system. When a performance or availability problem with a critical e-business transaction is detected, a customer typically wants to know what changes have been made to the infrastructure that could be the source of the problem. As one example, if there is a problem in a Java 2 Platform Enterprise Edition (J2EE) transaction in a WebSphere Application Server (WAS), the system administrators are queried and asked to identify any configuration changes that have been made to WebSphere. Consequently, the particular configuration changes which may have negatively impacted the J2EE transaction may then be identified. Websphere applications, such as WAS, are available from International Business Machines Corporation. WAS is a J2EE application server that provides an operating environment for e-business applications that perform transactions over the Internet. Thus, as the configuration and applications deployed to WebSphere and other J2EE servers comprise a critical piece of a customer's infrastructure, it would be advantageous to minimize impacts caused by changes to WebSphere configurations.
Upon identifying configuration changes made to the system, however, there is currently no way to automatically isolate the specific transactions that are affected by a given configuration change. For example, if the configuration of a particular Java Message Service (JMS) server is changed in a customer's infrastructure, a system administrator has no way of determining which of the customer's transactions could be negatively impacted based on this change. In addition, these configuration changes are typically performed at night, when fewer transactions that rely on the resource are generated. For example, an administrator may enter the desired configuration changes into a maintenance window at 2:00 am. However, the administrator will not know if the configuration change has caused any performance or availability issues until a later time, such as when the end-users start to use the system again at 8:00 am in the morning.
Thus, the current art does not provide real-time results of the impact a configuration change will have on the end user's transactions. Furthermore, although some of the e-business applications may be identified and regression tested with the infrastructure changes, it is difficult to assess the full potential impact of the changes. As a result, changes to a customer's infrastructure may be under-tested before deployment.